<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    
</body>
<script>
    // 逻辑运算符  
    // 且(&&)   或(||)   非(!)      
    // 优先级  !   大于  &&  大于 ||

    // 短路运算  且(&&)   或(||)

    // 王者荣耀 => 加战队
    // 等级>=30     段位钻石V以上     VIP8


    // -----------------------------------&&-----------------------------------------
    // 等级>=30  &&   段位钻石V以上  &&   VIP8   => 全部满足才可以,有一个不行 免谈

    // 且 (&&)
    // 同真为真 遇假为假  (找假的,找到假的就停下来 后面就没有必要看了 => 假)

    // console.log(5 > 3 && 5 < 10); // true && true  => true
    // console.log(5 < 3 && 5 < 10); // false         => false
    
    // console.log(5 > 3 && 2 == "2" && 5 < 10 ); // true && true && true  => true
    // console.log(5 > 3 && 2 === "2" && 5 < 10 ); // true && false        => false


    // ---------------------------------||------------------------------------------
    // 等级>=30  ||   段位钻石V以上  ||   VIP8   => 三者中满足一个即可 

    // 或(||) 
    // 同假为假 , 遇真为真  (找真的 找到真的就停下来  后面就没有必要看了  =>真) 
    // console.log( 5 < 3 || 5 > 10);  // false || false => false
    // console.log( 5 > 3 || 5 > 10);  // true           => true

    // console.log( 5 < 3 || 2 ==="2" || 5 > 10);  // false || false ||false => false
    // console.log( 5 < 3 || 2 == "2" || 5 > 10);  // false || true          => true

    // !  
    // (1) 颠倒是非
    // (2) 条件反转
    
    // console.log(true,!true);
    // console.log(false,!false);

    // 布尔值的隐式类型转化  => 
    // !可以把其他类型(非布尔值) 先转为布尔值 再取反
    // !!可以把其他类型(非布尔值) 转为布尔值

    // "" 0 NaN null undefined => 转化布尔值为false
    // console.log(1,!1);  // 1 => true =>取反 false
    // console.log(0,!0);  // 0 => false =>取反 true
    
    // console.log(1,!!1);  // 1 => true =>取反再取反 true
    // console.log(0,!!0);  // 0 => false =>取反再取反 false


    var grade = Math.round(Math.random()*100);
    console.log(grade);

    console.log(grade >= 60); // 及格
    console.log(grade < 60,!(grade >= 60)); // 不及格



   

</script>
</html>